分享人:陈鑫
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
1.背景介绍
spring是一个基于ioc和aop结构的J2EE系统框架。
解决软件开发复杂程度过高的问题,是工程人员将更多的精力集中到业务逻辑上
IOC控制反转是spring的基础,inversion of Control。
以前由程序代码直接操控用new,然后调用对象内部的方法,现在变成由spring创建对象。 简单讲就是组件对象控制权的转移,从代码本身转移到了外部容器。是一个从内部到外部的过程。
控制反转中的参与者:
某对象A,普通的任意的对象。
IOC/DI容器,一个实现IOC/DI功能的程序框架。
对象A的外部依赖资源C。资源包括对象或文件。
容器去控制C,控制的是C的创建。未使用容器前,是由对象A主动去创建依赖资源并初始化,而现在这项工作就交给容器了,A只需要等待直接使用就好了。这就是反转。
IOC/DI差别
差别不大,描述的角度不同。
IOC,从容器的角度出发,容器反向控制应用程序对象的创建。
DI,从应用程序的角度出发,应用程序需要依赖容器注入对象。
最后总结
控制反转可以降低代码冗余,降低耦合度。
Spring帮助我们更简单地实现功能,可以让我们不必自己去创建所需要的对象实例,它包揽了此项工作,给我们提供了一个容器。我们只需要把东西放进去,随用随取。
Spring系列之IOC http://blog.csdn.net/hu_zhiting/article/details/51952345
http://how2j.cn/k/spring/spring-ioc-di/87.html
感谢观看,如有出错,恳请指正
BY : 陈鑫